package com.pig.utils;

import com.pig.entity.User;
import lombok.extern.slf4j.Slf4j;

// 用户工具类
@Slf4j
public class UserHolder {
    // 线程变量隔离
    private static final ThreadLocal<User> tl = new ThreadLocal<>();

    public static void saveUser(User user) {
        if (user == null) {
            //log.error("尝试保存空的用户信息");
            System.out.println("尝试保存空的用户信息");
            return;
        }
        //log.debug("保存用户信息到 UserHolder: {}", user);
        System.out.println("保存用户信息到 UserHolder: " + user);
        tl.set(user);
    }

    public static User getUser() {
        User user = tl.get();
        if (user == null) {
            //log.error("从 UserHolder 中获取用户信息失败");
            System.out.println("从 UserHolder 中获取用户信息失败");
        } else {
            //log.debug("从 UserHolder 中获取用户信息: {}", user);
            //System.out.println("从 UserHolder 中获取用户信息: " + user);
        }
        return user;
    }

    public static void removeUser() {
        tl.remove();
    }
}
